查看原文
其他

最全面的机器学习思维导图!

爬虫俱乐部 Stata and Python数据分析 2023-10-24

本文作者:钱晓阳,中南财经政法大学统计与数学学院

本文编辑:周一鸣

技术总编:王玉婷

Stata and Python 数据分析

爬虫俱乐部Stata基础课程Stata进阶课程Python课程可在小鹅通平台查看,欢迎大家多多支持订阅!如需了解详情,可以通过课程链接(https://appbqiqpzi66527.h5.xiaoeknow.com/homepage/10)或课程二维码进行访问哦~



如今,机器学习方法在我们生活中的应用越来越广泛,例如常见的人脸识别、AI换脸、语音识别、购物APP的推荐产品以及汽车自动辅助驾驶等都受益于机器学习方法的发展。机器学习在提高效率、节省成本、提高预测准确度、个性化服务等方面都有不错的效果,随着研究的不断深入,机器学习方法的广度得到了极大的提升。今天我们就来简单聊聊常见的机器学习方法。

机器学习方法的分类方式很多,按照学习方式可以把机器学习方法大致分为监督学习、无监督学习、半监督学习和强化学习。

01 监督学习

通俗来讲,监督学习就是让机器对大量带有标记的样本数据进行学习,从而得到训练模型,使得该模型能根据输入得到对应的输出信息。监督学习按其解决的问题总体上可以分为回归分类两类。

(1) 回归
回归是一种比较简单的分析方法,回归可以拟合变量间的线性形式,也可以找到单个标签和多个特征之间的非线性关系。常见的回归有线性回归、岭回归、Lasso回归、多项式回归等。
(2) 分类
顾名思义,分类要解决的是给定样本所属类别的预测问题。比如根据一个水果的色泽、大小等数据,判断该水果是否新鲜。常见的分类算法有贝叶斯分类器、决策树、支持向量机(SVM)、K近邻算法等。
(3) 集成学习
集成学习是将多个相对较弱的监督模型组合起来,得到效果更好的强监督模型,以此来预测新的样本。集成学习可以分为Bagging、Boosting和Stacking。Bagging可以多个模型并行,侧重减少方差,主要的算法有随机森林等;Stacking则是多个模型串行,侧重减少偏差,主要有XGBoost、GBDT、LightGBM等;Stacking可以理解为串行和并行的组合。
02 无监督学习
无监督学习和监督学习相反,在很多情况下,我们无法获得监督学习所需要的大量标记数据,对于这些未标记数据,需要机器模型通过不断的自我认知来实现自我归纳,无监督学习方法就是应用于解决这一类问题。无监督学习主要可以分为聚类降维
(1) 聚类
聚类就是对大量未标记的数据,按照其内在的相似性划分为多个类别,使得类内相似度最大和类间相似度最小。聚类算法可以分为划分聚类、层次聚类、谱聚类、基于密度的聚类等,常见的聚类算法有K-Means、Mean shift、DBSCAN、高斯混合模型(GMM)等。
(2) 降维
机器学习算法的性能和输入的变量数量有很强的相关性,过多的变量不仅会极大地影响机器学习算法的性能,即会造成常说的“维度灾难”,还可能造成过拟合,降低模型泛化性能。降维算法就是用来解决这一问题,降维算法是把高维数据映射到较低维的数据空间上,达到降低特征数量的效果。常见的降维算法有主成分分析法(PCA)、独立成分分析法(ICA)、t-SNE算法等。
03 半监督学习
半监督学习是介于监督学习和无监督学习之间的一种机器学习方法,半监督学习的模型识别既使用有标记数据,也使用未标记数据,是监督学习和半监督学习相结合的一种学习方法。半监督学习没有绝对的分类,但可以从生成式模型、一致性正则化模型、图生成模型和代理标签模型来进行大致地分类。半监督学习算法有半监督GANs、虚拟对抗训练(VAT)、阶梯网络(Ladder Network)等。
04 强化学习
强化学习和无监督学习一样,训练数据不需要人为的标记,但强化学习与无监督学习的目的不同,强化学习在训练时,需要环境给予反馈,以及具体的反馈值,基于反馈值对训练对象的行为作出决策,最终达到特定目的或使收益最大化。基于是否具有环境模型,可以将强化学习算法分为基于模型的强化学习(Model-Based)和无模型的强化学习(Model-Free)。这里用一个机器人走迷宫的例子来解释两种学习方式。
(1) Model-Based
在这种方式下就相当于机器人事先了解了地图的环境,所以能根据以往的经验选取最优策略,即能通过想象来预判接下来的情况,然后作出下一步决策。基于这种方式的强化学习方法有I2A、ME-TRPO等。
(2) Model-Free
在这种方式下,就相当于把机器人直接放在迷宫中,机器人会根据现实环境的反馈来判断该采取哪一步行动。这种方式下的强化学习方法包括策略梯度(Policy Gradient)、近端策略优化(PPO)、Deep Q-Network(DQN)等
05 神经网络
神经网络是机器学习中的一种模型,其在上述的几种学习方式中均有涉及,且深度学习方法就是建立在神经网络基础上的,所以这里将神经网络单独进行总结。神经网络通过模仿动物神经网络行为特征,从而进行分布式信息处理,通过调整内部节点之间相互连接的关系,达到处理信息的目的。神经网络发展速度很快,在这里仅介绍几种典型的神经网络模型。
(1) 前馈神经网络
简单来说,在前馈神经网络中每一层的神经元能接受前一层神经元信号,并产生信号传递到下一层,且这种传递是单向传播,中间没有反馈。属于前馈神经网络的有感知机、BP神经网络、径向基神经网络(RBF)和卷积神经网络(CNN)等。下图为一个简单的前馈神经网络示意图。

(2) 反馈神经网络
在反馈神经网络中,神经元可以互连,有些神经元的输出会被反馈至同层或者前层的神经元,典型的反馈神经网络有循环神经网络(RNN)、Hopfield神经网络、玻尔兹曼机等,RNN中又包含长短期记忆网络(LSTM)、门控循环单元(GRU)等。
(3) 生成对抗网络(GAN)

生成对抗网络包含两部分:生成器(Generator)和判别器(Discriminator)。生成器可以生成数据,其目的是骗过判别器,让判别器无法判断是真实数据还是生成数据,而判别器用来判断数据是真实的还是生成的,目的是找出生成器生成的假数据。经过不断的循环,就能得到效果很好的生成器和判别器,可以用来满足我们的需要。生成对抗网络在图像方面的应用十分广泛。目前比较有代表性的算法有条件生成对抗网络(CGAN)、深度卷积生成对抗网络(DCGAN)、BigGAN等。

以上就是对机器学习方法的总结,但限于篇幅上述方法的原理并未涉及。最后,笔者为大家提供了最全面的机器学习思维导图,感兴趣的读者可以在后台回复 机器学习 来获得.xmind文件,并根据该思维导图查漏补缺,深入学习这些方法背后的思想。当然,机器学习发展很快,大家也可以通过阅读最新的论文来了解机器学习的前沿方法。在这里推荐一个网站:papers with code,上面总结了机器学习论文及其代码实现形式,大家可以根据需要来进行学习。

END

重磅福利!为了更好地服务各位同学的研究,爬虫俱乐部将在小鹅通平台上持续提供金融研究所需要的各类指标,包括上市公司十大股东、股价崩盘、投资效率、融资约束、企业避税、分析师跟踪、净资产收益率、资产回报率、国际四大审计、托宾Q值、第一大股东持股比例、账面市值比、沪深A股上市公司研究常用控制变量等一系列深加工数据,基于各交易所信息披露的数据利用Stata在实现数据实时更新的同时还将不断上线更多的数据指标。我们以最前沿的数据处理技术、最好的服务质量、最大的诚意望能助力大家的研究工作!相关数据链接,请大家访问:(https://appbqiqpzi66527.h5.xiaoeknow.com/homepage/10)或扫描二维码:

最后,我们为大家揭秘雪球网(https://xueqiu.com/)最新所展示的沪深证券和港股关注人数增长Top10。





对我们的推文累计打赏超过1000元,我们即可给您开具发票,发票类别为“咨询费”。用心做事,不负您的支持!







往期推文推荐

用`fs`命令批量获取文件夹和不同文件夹下的excel文件

自然语言处理之实例应用

JSON帮手,FeHelper

最新、最热门的命令这里都有!

Python实现微信自动回复告诉python,我想“狂飙”了——线程池与异步协程为爬虫提速高级函数——map()和reduce()

Stata绘制条形图的进阶用法

快来看看武汉的房价是不是又双叒叕涨了!Python 常见内置函数(二)

Stata绘制饼形图的进阶用法

Python标准库--logging模块盲区探索——Stata的读写极限Camelot提取PDF表格:一页多表、多页一表

Stata绘图系列——条形图绘制

Python常见内置函数(一)Stata绘图系列——饼形图绘制【爬虫实战】深交所服务业年报数据

“挂羊头卖狗肉”?


     关于我们 

   微信公众号“Stata and Python数据分析”分享实用的Stata、Python等软件的数据处理知识,欢迎转载、打赏。我们是由李春涛教授领导下的研究生及本科生组成的大数据处理和分析团队。

   武汉字符串数据科技有限公司一直为广大用户提供数据采集和分析的服务工作,如果您有这方面的需求,请发邮件到statatraining@163.com,或者直接联系我们的数据中台总工程司海涛先生,电话:18203668525,wechat: super4ht。海涛先生曾长期在香港大学从事研究工作,现为知名985大学的博士生,爬虫俱乐部网络爬虫技术和正则表达式的课程负责人。



此外,欢迎大家踊跃投稿,介绍一些关于Stata和Python的数据处理和分析技巧。

投稿邮箱:statatraining@163.com投稿要求:1)必须原创,禁止抄袭;2)必须准确,详细,有例子,有截图;注意事项:1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。2)邮件请注明投稿,邮件名称为“投稿+推文名称”。3)应广大读者要求,现开通有偿问答服务,如果大家遇到有关数据处理、分析等问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存